package com.haust.feign;

import com.haust.commons.pojo.HaustResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;

@FeignClient("Haust-frontend-cart")
public interface CartFeign {
    /**
     * 创建订单的步骤之：
     * 删除购物车中添加的商品
     *
     * @param list   map   key      valule
     *               itemId  通过商品id查找 购物车中的商品
     *               num     用于事务回滚时的 数据恢复
     * @param userId 用户的id ，通过用户id,查找购物车
     * @return
     */
    @PostMapping("/cart/clearCart4CreateOrder")
    HaustResult clearCart4CreateOrder(
            @RequestBody List<Map<String, Object>> list,
            @RequestParam Long userId,
            @RequestHeader("Token") String token  //openFeign调用时，设置请求头
    );
}
